package pessoa;

import excecoes.CpfCnpjInvalidoException;

/**
 * Essa classe representa um cliente, ela e subclasse da classe pessoa, e acrescenta o 
 * atributo cpf
 */
public class Cliente extends Pessoa{
	
	private String cpf_cnpj;
	
	
	/**
	 * Esse construtor recebe nome, telefone, email, cpf_cnpj e endereco, e os atribui aos
	 * respectivos atributos na classe
	 * 
	 * @param nome
	 * @param telefone
	 * @param email
	 * @param endereco
	 * @param cpf_cnpj
	 */
	public Cliente(String cpf_cnpj, String nome, String endereco, String email,
			String telefone) throws CpfCnpjInvalidoException{
		

		super(nome, telefone, email, endereco);
		
		cpf_cnpj = cpf_cnpj.replaceAll("[^0-9]", "");
		
		if(validaCpfCnpj(cpf_cnpj) == false){
			
			throw new CpfCnpjInvalidoException("CPF/CNPJ Invalido");
		}
		this.cpf_cnpj = cpf_cnpj;
		
	}
	
	/**
	 * @return string contendo os dados do cliente 
	 */
	public String toString(){
		
		return "CNPJ: " + cpf_cnpj +
				"\nNome: " + getNome() +
				"\nEndereco: " + getEndereco() +
				"\nTelefone: " + getTelefone() +
				"\nEmail: " + getEmail();
							
	}
	
	
	public String getCpf_cnpj(){
		return cpf_cnpj;
	}
}
